package fr.uniscol.view.editors;

import java.beans.PropertyEditorSupport;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import org.springframework.beans.propertyeditors.CustomCollectionEditor;

import fr.uniscol.model.utilisateur.ProfilUtilisateur;
import fr.uniscol.service.IUserService;

public class CustomSetProfilUtilisateurPropertyEditor extends CustomCollectionEditor {

	private IUserService userService = null;
	
	public CustomSetProfilUtilisateurPropertyEditor(Class collectionType, IUserService service) {
		super(collectionType);
		this.userService = service;
	}

	@Override
	public void setAsText(String text) throws IllegalArgumentException {
		
		System.out.println("setAsText() : " + text);
		
		Set<ProfilUtilisateur> profils = new HashSet<ProfilUtilisateur>();
		
		String[] split = text.split(",");
		ProfilUtilisateur p = null;
		for(int i = 0; i < split.length; i++){
			p = userService.getProfilUtilisateur(Integer.parseInt(split[i]));
			profils.add(p);
		}
		setValue(profils);
	}

	@Override
	protected Object convertElement(Object element) {
		
		System.out.println("convertElement() : " + element + " " + element.getClass());
		
		ProfilUtilisateur p = userService.getProfilUtilisateur((Integer)element);
		
		return p;
	}
}
